3 # Raw key numbering for Apple Extended French keyboard...
6 # [ esc ] [ f1] [ f2] [ f3] [ f4] [ f5] [ f6] [ f7] [ f8] [ f9] [f10] [f11] [f12] [f13] [f14] [f15] [f16] [sd-] [sd+] [sdm] [eje]
7 # 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d ???? ???? ???? ???? ???? ???? ???? ????
9 # [ @ ] [ & ] [ é ] [ " ] [ ' ] [ ( ] [ § ] [ è ] [ ! ] [ ç ] [ à ] [ ) ] [ - ] [ bck ] [ins] [hme] [pup] [num] [ = ] [ / ] [ * ]
10 # 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x6a 0x23 0x24
12 # [tab] [ a ] [ z ] [ e ] [ r ] [ t ] [ y ] [ u ] [ i ] [ o ] [ p ] [ ^ ] [ $ ] [ ret ] [del] [end] [pdn] [ 7 ] [ 8 ] [ 9 ] [ - ]
13 # 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 [ ] 0x34 0x35 0x36 0x37 0x38 0x39 0x25
15 # [cap] [ q ] [ s ] [ d ] [ f ] [ g ] [ h ] [ j ] [ k ] [ l ] [ m ] [ ù ] [ ` ] [____] [ 4 ] [ 5 ] [ 6 ] [ + ]
16 # 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x33 0x47 0x48 0x49 0x4a 0x3a
18 # [shf] [ < ] [ w ] [ x ] [ c ] [ v ] [ b ] [ n ] [ , ] [ ; ] [ : ] [ = ] [ shift ] [ up] [ 1 ] [ 2 ] [ 3 ] [ent]
19 # 0x4b 0x69 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a [ ]
21 # [ ctr ] [ opt ] [ cmd ] [ space ] [ cmd ] [ opt ] [ ctr ] [lft] [dwn] [rgt] [ 0 ] [ , ] [___]
22 # 0x5c 0x5d 0x66 0x5e 0x67 0x5f 0x60 0x61 0x62 0x63 0x64 0x65 0x5b
25 # Some keys of this keyboard have unmapped keycodes (see src/add-ons/kernel/drivers/input/usb_hid/KeyboardDevice.cpp) :
26 # F13 : 0x68 (should probably be mapped to Print Screen)
30 # The sound volume and disc eject keys (at the top of the keypad) are not recognized at all.
32 # Some virtual machines (like VMWare Fusion) map some keys to others :
33 # Keypad "=" => 0x1d ("=" on standard PC keyboards, but "-" on Apple keyboard)
34 # F13 => 0x0e (Print Screen)
35 # F14 => 0x0f (Scroll Lock)
36 # F15 => 0x22 (Num Lock)
37 # F16 => 0x67 (Right command ?)
56 # To set NumLock, do the following:
57 # LockSettings = NumLock
59 # To set everything, do the following:
60 # LockSettings = CapsLock NumLock ScrollLock
69 # Key n s c o os C Cs Co Cos
70 Key 0x00 = '' '' '' '' '' '' '' '' ''
71 Key 0x01 = 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b
72 Key 0x02 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
73 Key 0x03 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
74 Key 0x04 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
75 Key 0x05 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
76 Key 0x06 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
77 Key 0x07 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
78 Key 0x08 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
79 Key 0x09 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
80 Key 0x0a = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
81 Key 0x0b = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
82 Key 0x0c = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
83 Key 0x0d = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
84 Key 0x0e = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
85 Key 0x0f = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
86 Key 0x10 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10
87 Key 0x11 = '@' '#' '0' 0xe280a2 0xc5b8 '@' '#' 0xe280a2 0xc592
88 Key 0x12 = '&' '1' '1' ' ' 0xc2b4 '&' '1' ' ' 0xc2b4
89 Key 0x13 = 0xc3a9 '2' '2' 0xc3ab 0xe289e 0xc389 '2' 0xc38b 0xe289e
90 Key 0x14 = '"' '3' '3' 0xe2809c 0xe2809d '"' '3' 0xe2809c 0xe2809d
91 Key 0x15 = '\'' '4' '4' 0xe28098 0xe28099 '\'' '4' 0xe28098 0xe28099
92 Key 0x16 = '(' '5' '5' '{' '[' '(' '5' '{' '['
93 Key 0x17 = 0xc2a7 '6' '6' 0xcdb6 0xc3a0 0xc2a7 '6' 0xcdb6 0c3a5
94 Key 0x18 = 0xc3a8 '7' '7' 0xc2ab 0xc2bb 0xc388 '7' 0xc2ab 0xc2bb
95 Key 0x19 = '!' '8' '8' 0xc2a1 0xc39b '!' '8' 0xc2a1 0xc39b
96 Key 0x1a = 0xc3a7 '9' 0x1e 0xc387 0xc381 0xc387 '9' 0xc387 0xc381
97 Key 0x1b = 0xc3a0 '0' '' 0xc3b8 0xc398 0xc380 '0' 0xc3b8 0xc398
98 Key 0x1c = ')' 0xc2b0 '' '}' ']' ')' 0xc2b0 '}' ']'
99 Key 0x1d = '-' '_' '' 0xe28094 0xe28093 '-' '_' 0xe28094 0xe28093
100 Key 0x1e = 0x08 0x08 0x08 0x08 0x08 0x08 0x08 0x08 0x08
101 Key 0x1f = 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05
102 Key 0x20 = 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01
103 Key 0x21 = 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b
104 Key 0x22 = '' '' '' '' '' '' '' '' ''
105 Key 0x23 = '/' '/' '/' '/' '/' '/' '/' '/' '/'
106 Key 0x24 = '*' '*' '*' '*' '*' '*' '*' '*' '*'
107 Key 0x25 = '-' '-' '-' '-' '-' '-' '-' '-' '-'
108 Key 0x26 = 0x09 0x09 0x09 0x09 0x09 0x09 0x09 0x09 0x09
109 Key 0x27 = 'a' 'A' 0x01 0xc3a6 0xc386 'A' 'A' 0xc3a6 0xc386
110 Key 0x28 = 'z' 'Z' 0x1a 0xc382 0xc385 'Z' 'Z' 0xc385 0xc385
111 Key 0x29 = 'e' 'E' 0x05 0xc3aa 0xc38a 'E' 'E' 0xc3aa 0xc38a
112 Key 0x2a = 'r' 'R' 0x12 0xc2a2 0xe2809a 'R' 'R' 0xc2a2 0xe2809a
113 Key 0x2b = 't' 'T' 0x14 0xe280a0 0xe284a2 'T' 'T' 0xe284a2 0xe284a2
114 Key 0x2c = 'y' 'Y' 0x19 0xc39a 0xc5b8 'Y' 'Y' 0xc5b8 0xc5b8
115 Key 0x2d = 'u' 'U' 0x15 0xc2ba 0xc2aa 'U' 'U' 0xc2aa 0xc2aa
116 Key 0x2e = 'i' 'I' 0x09 0xc3ae 0xc3af 'I' 'I' 0xc3af 0xc3af
117 Key 0x2f = 'o' 'O' 0x0f 0xc593 0xc592 'O' 'O' 0xc592 0xc592
118 Key 0x30 = 'p' 'P' 0x10 0xcf80 0xe2888f 'P' 'P' 0xe2888f 0xe2888f
119 Key 0x31 = '^' 0xc2a8 0x1b 0xc3b4 0xc394 '^' 0xc2a8 0xc3b4 0xc394
120 Key 0x32 = '$' '*' 0x1d 0xe282ac 0xc2a5 '$' '*' 0xe282ac 0xc2a5
121 Key 0x33 = '`' 0xc2a3 0x1c '`' '#' '`' 0xc2a3 '`' '#'
122 Key 0x34 = 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f
123 Key 0x35 = 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04
124 Key 0x36 = 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c
125 Key 0x37 = '7' '7' '7' '7' '7' '7' '7' '7' '7'
126 Key 0x38 = '8' '8' '8' '8' '8' '8' '8' '8' '8'
127 Key 0x39 = '9' '9' '9' '9' '9' '9' '9' '9' '9'
128 Key 0x3a = '+' '+' '+' '+' '+' '+' '+' '+' '+'
129 Key 0x3b = '' '' '' '' '' '' '' '' ''
130 Key 0x3c = 'q' 'Q' 0x11 0xe280a1 0xcea9 'Q' 'Q' 0xcea9 0xcea9
131 Key 0x3d = 's' 'S' 0x13 0xc392 0xe28891 'S' 'S' 0xe28891 0xe28891
132 Key 0x3e = 'd' 'D' 0x04 0xe28882 0xe28886 'D' 'D' 0xe28886 0xe28886
133 Key 0x3f = 'f' 'F' 0x06 0xc692 0xc2b7 'F' 'F' 0xc2b7 0xc2b7
134 Key 0x40 = 'g' 'G' 0x07 0xefac81 0xefac82 'G' 'G' 0xefac82 0xefac82
135 Key 0x41 = 'h' 'H' 0x08 0xc38c 0xc38e 'H' 'H' 0xc38e 0xc38e
136 Key 0x42 = 'j' 'J' 0x0a 0xc38f 0xc38d 'J' 'J' 0xc38d 0xc38d
137 Key 0x43 = 'k' 'K' 0x0b 0xc388 0xc38b 'K' 'K' 0xc38b 0xc38b
138 Key 0x44 = 'l' 'L' 0x0c 0xc2ac '|' 'L' 'L' '|' '|'
139 Key 0x45 = 'm' 'M' 0x0d 0xc2b5 0xc393 'M' 'M' 0xc393 0xc393
140 Key 0x46 = 0xc3b9 '%' '' 0xc399 0xe280b0 0xc399 '%' 0xc399 0xe280b0
141 Key 0x47 = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a
142 Key 0x48 = '4' '4' '4' '4' '4' '4' '4' '4' '4'
143 Key 0x49 = '5' '5' '5' '5' '5' '5' '5' '5' '5'
144 Key 0x4a = '6' '6' '6' '6' '6' '6' '6' '6' '6'
145 Key 0x4b = '' '' '' '' '' '' '' '' ''
146 Key 0x4c = 'w' 'W' 0x17 0xe280b9 0xe280ba 'W' 'W' 0xe280ba 0xe280ba
147 Key 0x4d = 'x' 'X' 0x18 0xe28988 0xe28184 'X' 'X' 0xe28184 0xe28184
148 Key 0x4e = 'c' 'C' 0x03 0xc2a9 0xc2a2 'C' 'C' 0xc2a2 0xc2a2
149 Key 0x4f = 'v' 'V' 0x16 0xe2978a 0xe2889a 'V' 'V' 0xe2889a 0xe2889a
150 Key 0x50 = 'b' 'B' 0x02 0xc39f 0xe288ab 'B' 'B' 0xe288ab 0xe288ab
151 Key 0x51 = 'n' 'N' 0x0e '~' 0xc4b1 'N' 'N' 0xc4b1 0xc4b1
152 Key 0x52 = ',' '?' '' 0xe2889e 0xc2bf ',' '?' 0xe2889e 0xc2bf
153 Key 0x53 = ';' '.' '' 0xe280a6 0xe280a2 ';' '.' 0xe280a6 0xe280a2
154 Key 0x54 = ':' '/' '' 0xc3b7 '\\' ':' '/' 0xc3b7 '\\'
155 Key 0x55 = '=' '+' '' 0xe289a0 0xc2b1 '=' '+' 0xe289a0 0xc2b1
156 Key 0x56 = '' '' '' '' '' '' '' '' ''
157 Key 0x57 = 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e
158 Key 0x58 = '1' '1' '1' '1' '1' '1' '1' '1' '1'
159 Key 0x59 = '2' '2' '2' '2' '2' '2' '2' '2' '2'
160 Key 0x5a = '3' '3' '3' '3' '3' '3' '3' '3' '3'
161 Key 0x5b = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a
162 Key 0x5c = '' '' '' '' '' '' '' '' ''
163 Key 0x5d = '' '' '' '' '' '' '' '' ''
164 Key 0x5e = ' ' ' ' 0x00 ' ' ' ' ' ' ' ' ' ' ' '
165 Key 0x5f = '' '' '' '' '' '' '' '' ''
166 Key 0x60 = '' '' '' '' '' '' '' '' ''
167 Key 0x61 = 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c
168 Key 0x62 = 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f
169 Key 0x63 = 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d
170 Key 0x64 = '0' '0' '0' '0' '0' '0' '0' '0' '0'
171 Key 0x65 = ',' ',' ',' ',' ',' ',' ',' ',' ','
172 Key 0x66 = '' '' '' '' '' '' '' '' ''
173 Key 0x67 = '' '' '' '' '' '' '' '' ''
174 Key 0x68 = '' '' '' '' '' '' '' '' ''
175 Key 0x69 = '<' '>' 0x1c 0xe289a4 0xe289a5 '<' '>' 0xe289a4 0xe289a5
176 Key 0x6a = '=' '=' '=' '=' '=' '=' '=' '=' '='
177 Key 0x6b = '' '' '' '' '' '' '' '' ''
178 Key 0x6c = '' '' '' '' '' '' '' '' ''
179 Key 0x6d = '' '' '' '' '' '' '' '' ''
180 Key 0x6e = '' '' '' '' '' '' '' '' ''
181 Key 0x6f = '' '' '' '' '' '' '' '' ''
182 Key 0x70 = '' '' '' '' '' '' '' '' ''
183 Key 0x71 = '' '' '' '' '' '' '' '' ''
184 Key 0x72 = '' '' '' '' '' '' '' '' ''
185 Key 0x73 = '' '' '' '' '' '' '' '' ''
186 Key 0x74 = '' '' '' '' '' '' '' '' ''
187 Key 0x75 = '' '' '' '' '' '' '' '' ''
188 Key 0x76 = '' '' '' '' '' '' '' '' ''
189 Key 0x77 = '' '' '' '' '' '' '' '' ''
190 Key 0x78 = '' '' '' '' '' '' '' '' ''
191 Key 0x79 = '' '' '' '' '' '' '' '' ''
192 Key 0x7a = '' '' '' '' '' '' '' '' ''
193 Key 0x7b = '' '' '' '' '' '' '' '' ''
194 Key 0x7c = '' '' '' '' '' '' '' '' ''
195 Key 0x7d = '' '' '' '' '' '' '' '' ''
196 Key 0x7e = '' '' '' '' '' '' '' '' ''
197 Key 0x7f = '' '' '' '' '' '' '' '' ''
211 AcuteTab = Option Option-Shift CapsLock-Option CapsLock-Option-Shift
223 GraveTab = Normal Option Option-Shift CapsLock-Option CapsLock-Option-Shift
225 Circumflex 'A' = 0xc382
226 Circumflex 'E' = 0xc38a
227 Circumflex 'I' = 0xc38e
228 Circumflex 'O' = 0xc394
229 Circumflex 'U' = 0xc39b
230 Circumflex 'a' = 0xc3a2
231 Circumflex 'e' = 0xc3aa
232 Circumflex 'i' = 0xc3ae
233 Circumflex 'o' = 0xc3b4
234 Circumflex 'u' = 0xc3bb
235 CircumflexTab = Normal Shift CapsLock CapsLock-Shift
236 Diaeresis ' ' = 0xc2a8
237 Diaeresis 'A' = 0xc384
238 Diaeresis 'E' = 0xc38b
239 Diaeresis 'I' = 0xc38f
240 Diaeresis 'O' = 0xc396
241 Diaeresis 'U' = 0xc39c
242 Diaeresis 'Y' = 0xc5b8
243 Diaeresis 'a' = 0xc3a4
244 Diaeresis 'e' = 0xc3ab
245 Diaeresis 'i' = 0xc3af
246 Diaeresis 'o' = 0xc3b6
247 Diaeresis 'u' = 0xc3bc
248 Diaeresis 'y' = 0xc3bf
249 DiaeresisTab = Normal Shift CapsLock CapsLock-Shift
257 TildeTab = Option Option-Shift CapsLock-Option CapsLock-Option-Shift